{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Parse Factiva - US COICA, SOPA, PIPA\n",
    "\n",
    "Search Terms: \n",
    "* (((SOPA OR PIPA) NOT guitar) OR (Stop adj Online adj Piracy adj Act) OR (Protect adj IP adj Act) OR (Protect adj Intellectual adj Property adj Act) OR COICA OR (Combating adj Online adj Infringement adj2 Counterfeits adj Act))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Load Packages"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Machine Learning Packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import datasets\n",
    "from sklearn.decomposition import PCA\n",
    "from sklearn.decomposition import TruncatedSVD\n",
    "from sklearn.feature_extraction.text import CountVectorizer, TfidfVectorizer\n",
    "from sklearn.pipeline import make_pipeline\n",
    "from sklearn.preprocessing import FunctionTransformer\n",
    "from sklearn.cluster import KMeans"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Topic Modeling"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Requirement already satisfied: striprtf in c:\\users\\wmc010\\anaconda3\\lib\\site-packages (0.0.12)\n",
      "Note: you may need to restart the kernel to use updated packages.\n"
     ]
    }
   ],
   "source": [
    "pip install striprtf"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "from gensim import corpora\n",
    "from gensim import models\n",
    "import pyLDAvis\n",
    "import pyLDAvis.gensim"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "NLP Packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "import nltk\n",
    "from string import punctuation\n",
    "from nltk.corpus import stopwords\n",
    "import spacy"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plotting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "import matplotlib.dates as dates\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Data Processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import csv\n",
    "import pandas as pd\n",
    "import json\n",
    "from glob import glob\n",
    "from striprtf.striprtf import rtf_to_text\n",
    "import re\n",
    "import os\n",
    "from collections import defaultdict"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Preprocessing of Factiva Output\n",
    "\n",
    "Unfortunately, the factiva output cannot be used directly. The following preprocessing steps are necessary:\n",
    "1. Delte table of content and query details"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Load Data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'C:\\\\Users\\\\wmc010\\\\Documents\\\\Seafile\\\\PhD\\\\Python\\\\Python_SOPAPIPA\\\\Newspaper'"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "os.getcwd()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n",
      "['US_Factiva_broad_2010.rtf', 'US_Factiva_broad_2011.rtf', 'US_Factiva_broad_Feb-Aug12.rtf', 'US_Factiva_broad_Jan12.rtf', 'US_Factiva_broad_Sep-Dec12.rtf']\n"
     ]
    }
   ],
   "source": [
    "filenames = glob(\"US_Factiva_broad*.rtf\") #glob returns a list of filenames that we care about\n",
    "print(len(filenames)) # length of list\n",
    "print(filenames)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "rtf_string = [] #load data into a list\n",
    "\n",
    "for file in filenames:\n",
    "    with open(file, encoding=\"utf-8\") as f:\n",
    "        thisrtf = f.read()\n",
    "        rtf_string.append(thisrtf)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5\n",
      "<class 'list'> <class 'str'>\n"
     ]
    }
   ],
   "source": [
    "articles = [rtf_to_text(i) for i in rtf_string] #convert to rtf to readable text\n",
    "print(len(articles))\n",
    "print(type(articles), type(articles[0]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Split documents into single articles\n",
    "At the end of each document, factiva places a line that starts with Dokument and is followed by a combination of letters and numbers. The first letters indicate the medium. This info is used to split the articles at their end."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "articles = [re.sub(r\"(Dokument NYT *.*|Dokument WP *.*|Dokument J *.*)\", \"ENDOFDOCUMENT!\", doc) for doc in articles]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "345\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "\n",
      "Digital Media: Blu-ray's Time Comes as DVDs Fade\n",
      "\n",
      "By Nat Worden   \n",
      "639 Wörter\n",
      "24 Dezember 2010\n",
      "The Wall Street Journal\n",
      "J\n",
      "B4\n",
      "Englisch\n",
      "(Copyright (c) 2010, Dow Jones & Company, Inc.)   \n",
      "\n",
      "Blu-ray is emerging as a holiday hero for Hollywood as the film industry grapples with the rise of online video and a persistent slump in its most profitable source of revenue: DVD sales.\n",
      "\n",
      "A combination of the weak economy, online piracy and low-cost rental and streaming services has driven continued declines in DVD sales this year, but strong growth in Blu-ray -- premium-priced discs that offer a higher-quality home viewing experience -- suggests consumers still have an appetite for physical home-movie products.\n",
      "\n",
      "The trend has led some to question whether the electronics industry's embrace of Internet-connected television sets and set-top devices has come too early, leaving consumers confused by the myriad of technology choices and content limitations of online video. That prospect has fueled conc\n"
     ]
    }
   ],
   "source": [
    "articles_split = []\n",
    "\n",
    "for doc in articles:\n",
    "    articles_split.extend(doc.split(r\"ENDOFDOCUMENT!\"))\n",
    "\n",
    "print(len(articles_split))\n",
    "print(articles_split[1][:1000])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Preprocessing and Cleaning\n",
    "Some weird stuff happens when dealing with '\\n' directly. Therefore, it is first replaced by '!Paragraph!'. Then, '\\x84' and '\\x93' which appear in some articles are deleted."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "345\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "\" !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PARAGRAPH!Tech giants face revised patent lawsuit!PARAGRAPH!!PARAGRAPH!565 Wörter!PARAGRAPH!30 Dezember 2010!PARAGRAPH!The Washington Post!PARAGRAPH!WP!PARAGRAPH!FINAL!PARAGRAPH!A11!PARAGRAPH!Englisch!PARAGRAPH!Copyright 2010, The Washington Post Co. All Rights Reserved   !PARAGRAPH!!PARAGRAPH!Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.!PARAGRAPH!!PARAGRAPH!Interval Licensing owns the rights to information systems, computer science and communications technology developed by Interval Research, which Allen co-founded in the 1990s. Interval Research no longer exists.!PARAGRAPH!!PARAGRAPH!The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook, Google, Google's video site YouTube, AOL, Apple, Yahoo, Netflix, eBay, Office Depot, OfficeMax and Staples.!PARAGRAPH!!PARAGRAPH!U.S. District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products. Interval's new suit, filed Tuesday in Seattle, is chock-full of examples of the four patents in question. Two of the patents relate to the way Web sites suggest additional, related content.!PARAGRAPH!!PARAGRAPH!Interval is asking for damages and, going forward, either royalties or a ban on the companies' use of the technology.!PARAGRAPH!!PARAGRAPH!The blizzard that swept through the Northeast on Sunday and Monday delayed $1 billion in retail spending, according to research firm ShopperTrak, but won't derail a holiday shopping season expected to be the best since 2007.!PARAGRAPH!!PARAGRAPH!The effect won't be as bad as last year's pre-Christmas snowstorm that similarly paralyzed parts of the East Coast. That cost retailers an estimated $2 billion, according to the weather research firm Planalytics.!PARAGRAPH!!PARAGRAPH!About $10 billion in retail sales usually occurs on the two days after Christmas, ShopperTrak says. Bad weather likely delayed about 10 percent of that.!PARAGRAPH!!PARAGRAPH!The storm's effects weren't enough to change ShopperTrak's estimate for a 4 percent gain over last year in revenue for the Nov. 1-Dec. 31 holiday season. Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored.!PARAGRAPH!!PARAGRAPH!This year's storm cost retailers 11.2 percent of their foot traffic Sunday and 13.9 percent Monday, ShopperTrak estimates.!PARAGRAPH!!PARAGRAPH!The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams, one led by Lockheed Martin and one led by Austal.!PARAGRAPH!!PARAGRAPH!The Lockheed Martin team received a $491 million contract that could be worth as much as $4 billion when all options are exercised, the Navy said Wednesday in a statement. Austal won a $465 million contract that could reach as much $3.78 billion if all options are exercised.!PARAGRAPH!!PARAGRAPH!Congress approved the Navy's plans last week to buy ships from both of two teams under a dual-design approach, rather than choosing just one supplier as announced in September. The bids submitted averaged $440 million per ship, including construction and potential changes, Navy officials told lawmakers two weeks ago.!PARAGRAPH!!PARAGRAPH!Lockheed, based in Bethesda, and Marinette Marine are working together on one model, while the other is being developed by the U.S. subsidiary of Australia's Austal and General Dynamics. General Dynamics, based in Falls Church, is providing combat systems for the Austal vessel.!PARAGRAPH!!PARAGRAPH!Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels, such as destroyers, in missions such as clearing mines, hunting submarines and providing humanitarian relief. The Navy projects that it will buy 55 ships under the program.!PARAGRAPH!!PARAGRAPH!- Bloomberg News!PARAGRAPH!!PARAGRAPH!http://www.washingtonpost.com!PARAGRAPH!!PARAGRAPH!WP20101230digest30!PARAGRAPH!!PARAGRAPH!\""
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "articles_split = [re.sub(r\"\\n\", \"!PARAGRAPH!\", article) for article in articles_split]\n",
    "articles_split = [re.sub(r\"\\x84|\\x93\", \"\", article) for article in articles_split]\n",
    "\n",
    "print(len(articles_split))\n",
    "articles_split[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Delete Search Summaries that are included in factiva output"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "340\n",
      " !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PARAGRAPH!Tech giants face revised patent lawsuit!PARAGRAPH!!PARAGRAPH!565 Wörter!PARAGRAPH!30 Dezember 2010!PARAGRAPH!The Washington Post!PARAGRAPH!WP!PARAGRAPH!FINAL!PARAGRAPH!A11!PARAGRAPH!Englisch!PARAGRAPH!Copyright 2010, The Washington Post Co. All Rights Reserved   !PARAGRAPH!!PARAGRAPH!Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.!PARAGRAPH!!PARAGRAPH!Interval Licensing owns the rights to information systems, computer science and communications technology developed by Interval Research, which Allen co-founded in the 1990s. Interval Research no longer exists.!PARAGRAPH!!PARAGRAPH!The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook, Google, Google's video site YouTube, AOL, Apple, Yahoo, Netflix, eBay, Office Depot, OfficeMax and Staples.!PARAGRAPH!!PARAGRAPH!U.S. District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products. Interval's new suit, filed Tuesday in Seattle, is chock-full of examples of the four patents in question. Two of the patents relate to the way Web sites suggest additional, related content.!PARAGRAPH!!PARAGRAPH!Interval is asking for damages and, going forward, either royalties or a ban on the companies' use of the technology.!PARAGRAPH!!PARAGRAPH!The blizzard that swept through the Northeast on Sunday and Monday delayed $1 billion in retail spending, according to research firm ShopperTrak, but won't derail a holiday shopping season expected to be the best since 2007.!PARAGRAPH!!PARAGRAPH!The effect won't be as bad as last year's pre-Christmas snowstorm that similarly paralyzed parts of the East Coast. That cost retailers an estimated $2 billion, according to the weather research firm Planalytics.!PARAGRAPH!!PARAGRAPH!About $10 billion in retail sales usually occurs on the two days after Christmas, ShopperTrak says. Bad weather likely delayed about 10 percent of that.!PARAGRAPH!!PARAGRAPH!The storm's effects weren't enough to change ShopperTrak's estimate for a 4 percent gain over last year in revenue for the Nov. 1-Dec. 31 holiday season. Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored.!PARAGRAPH!!PARAGRAPH!This year's storm cost retailers 11.2 percent of their foot traffic Sunday and 13.9 percent Monday, ShopperTrak estimates.!PARAGRAPH!!PARAGRAPH!The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams, one led by Lockheed Martin and one led by Austal.!PARAGRAPH!!PARAGRAPH!The Lockheed Martin team received a $491 million contract that could be worth as much as $4 billion when all options are exercised, the Navy said Wednesday in a statement. Austal won a $465 million contract that could reach as much $3.78 billion if all options are exercised.!PARAGRAPH!!PARAGRAPH!Congress approved the Navy's plans last week to buy ships from both of two teams under a dual-design approach, rather than choosing just one supplier as announced in September. The bids submitted averaged $440 million per ship, including construction and potential changes, Navy officials told lawmakers two weeks ago.!PARAGRAPH!!PARAGRAPH!Lockheed, based in Bethesda, and Marinette Marine are working together on one model, while the other is being developed by the U.S. subsidiary of Australia's Austal and General Dynamics. General Dynamics, based in Falls Church, is providing combat systems for the Austal vessel.!PARAGRAPH!!PARAGRAPH!Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels, such as destroyers, in missions such as clearing mines, hunting submarines and providing humanitarian relief. The Navy projects that it will buy 55 ships under the program.!PARAGRAPH!!PARAGRAPH!- Bloomberg News!PARAGRAPH!!PARAGRAPH!http://www.washingtonpost.com!PARAGRAPH!!PARAGRAPH!WP20101230digest30!PARAGRAPH!!PARAGRAPH!\n"
     ]
    }
   ],
   "source": [
    "query = r\"Zusammenfassung der Suche\"\n",
    "q_list = []\n",
    "articles_woquery = []\n",
    "\n",
    "for article in articles_split:\n",
    "    if query in article:\n",
    "        q_list.append(article)\n",
    "    else:\n",
    "        articles_woquery.append(article)\n",
    "        \n",
    "print(len(articles_woquery))\n",
    "print(articles_woquery[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Split articles into an infoblock containing all the meta info like author, newspaper, no of words and publication date and fulltext of the article"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "340\n"
     ]
    }
   ],
   "source": [
    "articles_split = [re.sub(r\"!PARAGRAPH! *(Englisch) *!PARAGRAPH! *.*? *!PARAGRAPH!!PARAGRAPH!\", \"STARTOFARTICLE\", article) for article in articles_woquery] #The language of the article is the second last info from the infoblock before the line specifying the copyright. It is used to split the articles.\n",
    "    \n",
    "print(len(articles_split))\n",
    "\n",
    "#Test if successful for each article\n",
    "for i in range(len(articles_split)):\n",
    "    if r\"STARTOFARTICLE\" in articles_split[i]:\n",
    "        pass\n",
    "    else:\n",
    "        print(\"There was an error in article i\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "articles_split = [article.split(r\"STARTOFARTICLE\") for article in articles_split] #The splitting"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Put the articles into a dictionary\n",
    "\n",
    "The dictionary includes an infoblock including the author, paper, number of words, date and other interesting information on the article and the fulltext. This can be later processed further."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'infoblock': ' !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PARAGRAPH!Tech giants face revised patent lawsuit!PARAGRAPH!!PARAGRAPH!565 Wörter!PARAGRAPH!30 Dezember 2010!PARAGRAPH!The Washington Post!PARAGRAPH!WP!PARAGRAPH!FINAL!PARAGRAPH!A11',\n",
       " 'fulltext': \"Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.!PARAGRAPH!!PARAGRAPH!Interval Licensing owns the rights to information systems, computer science and communications technology developed by Interval Research, which Allen co-founded in the 1990s. Interval Research no longer exists.!PARAGRAPH!!PARAGRAPH!The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook, Google, Google's video site YouTube, AOL, Apple, Yahoo, Netflix, eBay, Office Depot, OfficeMax and Staples.!PARAGRAPH!!PARAGRAPH!U.S. District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products. Interval's new suit, filed Tuesday in Seattle, is chock-full of examples of the four patents in question. Two of the patents relate to the way Web sites suggest additional, related content.!PARAGRAPH!!PARAGRAPH!Interval is asking for damages and, going forward, either royalties or a ban on the companies' use of the technology.!PARAGRAPH!!PARAGRAPH!The blizzard that swept through the Northeast on Sunday and Monday delayed $1 billion in retail spending, according to research firm ShopperTrak, but won't derail a holiday shopping season expected to be the best since 2007.!PARAGRAPH!!PARAGRAPH!The effect won't be as bad as last year's pre-Christmas snowstorm that similarly paralyzed parts of the East Coast. That cost retailers an estimated $2 billion, according to the weather research firm Planalytics.!PARAGRAPH!!PARAGRAPH!About $10 billion in retail sales usually occurs on the two days after Christmas, ShopperTrak says. Bad weather likely delayed about 10 percent of that.!PARAGRAPH!!PARAGRAPH!The storm's effects weren't enough to change ShopperTrak's estimate for a 4 percent gain over last year in revenue for the Nov. 1-Dec. 31 holiday season. Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored.!PARAGRAPH!!PARAGRAPH!This year's storm cost retailers 11.2 percent of their foot traffic Sunday and 13.9 percent Monday, ShopperTrak estimates.!PARAGRAPH!!PARAGRAPH!The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams, one led by Lockheed Martin and one led by Austal.!PARAGRAPH!!PARAGRAPH!The Lockheed Martin team received a $491 million contract that could be worth as much as $4 billion when all options are exercised, the Navy said Wednesday in a statement. Austal won a $465 million contract that could reach as much $3.78 billion if all options are exercised.!PARAGRAPH!!PARAGRAPH!Congress approved the Navy's plans last week to buy ships from both of two teams under a dual-design approach, rather than choosing just one supplier as announced in September. The bids submitted averaged $440 million per ship, including construction and potential changes, Navy officials told lawmakers two weeks ago.!PARAGRAPH!!PARAGRAPH!Lockheed, based in Bethesda, and Marinette Marine are working together on one model, while the other is being developed by the U.S. subsidiary of Australia's Austal and General Dynamics. General Dynamics, based in Falls Church, is providing combat systems for the Austal vessel.!PARAGRAPH!!PARAGRAPH!Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels, such as destroyers, in missions such as clearing mines, hunting submarines and providing humanitarian relief. The Navy projects that it will buy 55 ships under the program.!PARAGRAPH!!PARAGRAPH!- Bloomberg News!PARAGRAPH!!PARAGRAPH!http://www.washingtonpost.com!PARAGRAPH!!PARAGRAPH!WP20101230digest30!PARAGRAPH!!PARAGRAPH!\"}"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "articles_dict = []\n",
    "\n",
    "for article in articles_split:\n",
    "    articles_dict.append({\n",
    "        'infoblock': article[0],\n",
    "        'fulltext': article[1]})\n",
    "\n",
    "articles_dict[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Extract the date from the infoblock and add it to the dictionary"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Extract the date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "date_pre = []\n",
    "for article in articles_dict:\n",
    "    date_pre.append(re.findall(r\"(\\d{1,2}) ([jJ]anuar|[fF]ebruar|[mM]ärz|[aA]pril|[mM]ai|[jJ]uni|[jJ]uli|[aA]ugust|[sS]eptember|[Oo]ktober|[nN]ovember|[dD]ezember) (\\d{4}).*\", article[\"infoblock\"]))\n",
    "    for i in range(len(date_pre)):\n",
    "        try:        \n",
    "            date_pre[i][0]\n",
    "        except: #when there is no author indicated assign NA\n",
    "            date_pre[i] = [\"NA\"]\n",
    "    \n",
    "date = []\n",
    "for i in range(len(date_pre)):\n",
    "    date.append(' '.join(date_pre[i][0])) # join the tuple to a string and append to a list"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Add to the dict"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['30 Dezember 2010',\n",
       " '24 Dezember 2010',\n",
       " '20 Dezember 2010',\n",
       " '16 Dezember 2010',\n",
       " '14 Dezember 2010',\n",
       " '13 Dezember 2010',\n",
       " '6 Dezember 2010',\n",
       " '30 November 2010',\n",
       " '30 November 2010',\n",
       " '30 November 2010',\n",
       " '30 November 2010',\n",
       " '29 November 2010',\n",
       " '27 November 2010',\n",
       " '27 November 2010',\n",
       " '27 November 2010',\n",
       " '20 November 2010',\n",
       " '11 November 2010',\n",
       " '8 November 2010',\n",
       " '31 Oktober 2010',\n",
       " '29 Oktober 2010',\n",
       " '27 Oktober 2010',\n",
       " '27 Oktober 2010',\n",
       " '27 Oktober 2010',\n",
       " '22 Oktober 2010',\n",
       " '22 Oktober 2010',\n",
       " '22 Oktober 2010',\n",
       " '15 Oktober 2010',\n",
       " '4 Oktober 2010',\n",
       " '22 September 2010',\n",
       " '18 August 2010',\n",
       " '4 August 2010',\n",
       " '1 August 2010',\n",
       " '23 Juli 2010',\n",
       " '19 Juli 2010',\n",
       " '13 Juli 2010',\n",
       " '8 Juli 2010',\n",
       " '1 Juli 2010',\n",
       " '30 Juni 2010',\n",
       " '24 Juni 2010',\n",
       " '23 Juni 2010',\n",
       " '19 Juni 2010',\n",
       " '10 Juni 2010',\n",
       " '29 Mai 2010',\n",
       " '24 Mai 2010',\n",
       " '24 Mai 2010',\n",
       " '14 Mai 2010',\n",
       " '13 Mai 2010',\n",
       " '26 April 2010',\n",
       " '24 April 2010',\n",
       " '19 April 2010',\n",
       " '15 April 2010',\n",
       " '11 April 2010',\n",
       " '7 April 2010',\n",
       " '4 April 2010',\n",
       " '2 April 2010',\n",
       " '26 März 2010',\n",
       " '25 März 2010',\n",
       " '24 März 2010',\n",
       " '19 März 2010',\n",
       " '15 März 2010',\n",
       " '12 März 2010',\n",
       " '3 März 2010',\n",
       " '19 Februar 2010',\n",
       " '16 Februar 2010',\n",
       " '11 Februar 2010',\n",
       " '8 Februar 2010',\n",
       " '7 Februar 2010',\n",
       " '25 Januar 2010',\n",
       " '19 Januar 2010',\n",
       " '15 Januar 2010',\n",
       " '15 Januar 2010',\n",
       " '15 Januar 2010',\n",
       " '13 Januar 2010',\n",
       " '12 Januar 2010',\n",
       " '10 Januar 2010',\n",
       " '31 Dezember 2011',\n",
       " '25 Dezember 2011',\n",
       " '16 Dezember 2011',\n",
       " '16 Dezember 2011',\n",
       " '15 Dezember 2011',\n",
       " '15 Dezember 2011',\n",
       " '15 Dezember 2011',\n",
       " '14 Dezember 2011',\n",
       " '13 Dezember 2011',\n",
       " '12 Dezember 2011',\n",
       " '11 Dezember 2011',\n",
       " '9 Dezember 2011',\n",
       " '6 Dezember 2011',\n",
       " '29 November 2011',\n",
       " '28 November 2011',\n",
       " '27 November 2011',\n",
       " '27 November 2011',\n",
       " '25 November 2011',\n",
       " '23 November 2011',\n",
       " '17 November 2011',\n",
       " '16 November 2011',\n",
       " '16 November 2011',\n",
       " '16 November 2011',\n",
       " '15 November 2011',\n",
       " '13 November 2011',\n",
       " '29 Oktober 2011',\n",
       " '19 Oktober 2011',\n",
       " '2 Oktober 2011',\n",
       " '27 September 2011',\n",
       " '20 September 2011',\n",
       " '19 September 2011',\n",
       " '30 August 2011',\n",
       " '29 August 2011',\n",
       " '24 August 2011',\n",
       " '22 August 2011',\n",
       " '30 Juli 2011',\n",
       " '29 Juli 2011',\n",
       " '27 Juli 2011',\n",
       " '24 Juli 2011',\n",
       " '15 Juli 2011',\n",
       " '14 Juli 2011',\n",
       " '8 Juli 2011',\n",
       " '8 Juli 2011',\n",
       " '8 Juli 2011',\n",
       " '4 Juli 2011',\n",
       " '30 Juni 2011',\n",
       " '21 Juni 2011',\n",
       " '21 Juni 2011',\n",
       " '18 Juni 2011',\n",
       " '9 Juni 2011',\n",
       " '9 Juni 2011',\n",
       " '8 Juni 2011',\n",
       " '29 Mai 2011',\n",
       " '23 Mai 2011',\n",
       " '22 Mai 2011',\n",
       " '16 Mai 2011',\n",
       " '16 Mai 2011',\n",
       " '13 Mai 2011',\n",
       " '11 Mai 2011',\n",
       " '9 Mai 2011',\n",
       " '23 April 2011',\n",
       " '14 April 2011',\n",
       " '9 April 2011',\n",
       " '29 März 2011',\n",
       " '22 März 2011',\n",
       " '22 März 2011',\n",
       " '2 März 2011',\n",
       " '2 März 2011',\n",
       " '26 Februar 2011',\n",
       " '23 Februar 2011',\n",
       " '22 Februar 2011',\n",
       " '17 Februar 2011',\n",
       " '12 Februar 2011',\n",
       " '14 Januar 2011',\n",
       " '20 August 2012',\n",
       " '15 August 2012',\n",
       " '14 August 2012',\n",
       " '11 August 2012',\n",
       " '11 August 2012',\n",
       " '11 August 2012',\n",
       " '10 August 2012',\n",
       " '10 August 2012',\n",
       " '6 August 2012',\n",
       " '5 August 2012',\n",
       " '28 Juli 2012',\n",
       " '26 Juli 2012',\n",
       " '17 Juli 2012',\n",
       " '16 Juli 2012',\n",
       " '15 Juli 2012',\n",
       " '14 Juli 2012',\n",
       " '13 Juli 2012',\n",
       " '10 Juli 2012',\n",
       " '5 Juli 2012',\n",
       " '5 Juli 2012',\n",
       " '4 Juli 2012',\n",
       " '30 Juni 2012',\n",
       " '29 Juni 2012',\n",
       " '20 Juni 2012',\n",
       " '11 Juni 2012',\n",
       " '4 Juni 2012',\n",
       " '28 Mai 2012',\n",
       " '28 Mai 2012',\n",
       " '21 Mai 2012',\n",
       " '17 Mai 2012',\n",
       " '14 Mai 2012',\n",
       " '10 Mai 2012',\n",
       " '8 Mai 2012',\n",
       " '7 Mai 2012',\n",
       " '6 Mai 2012',\n",
       " '6 Mai 2012',\n",
       " '2 Mai 2012',\n",
       " '30 April 2012',\n",
       " '27 April 2012',\n",
       " '24 April 2012',\n",
       " '22 April 2012',\n",
       " '22 April 2012',\n",
       " '16 April 2012',\n",
       " '15 April 2012',\n",
       " '13 April 2012',\n",
       " '10 April 2012',\n",
       " '10 April 2012',\n",
       " '1 April 2012',\n",
       " '30 März 2012',\n",
       " '29 März 2012',\n",
       " '29 März 2012',\n",
       " '26 März 2012',\n",
       " '22 März 2012',\n",
       " '13 März 2012',\n",
       " '12 März 2012',\n",
       " '9 März 2012',\n",
       " '3 März 2012',\n",
       " '3 März 2012',\n",
       " '27 Februar 2012',\n",
       " '27 Februar 2012',\n",
       " '26 Februar 2012',\n",
       " '23 Februar 2012',\n",
       " '18 Februar 2012',\n",
       " '18 Februar 2012',\n",
       " '16 Februar 2012',\n",
       " '16 Februar 2012',\n",
       " '16 Februar 2012',\n",
       " '15 Februar 2012',\n",
       " '15 Februar 2012',\n",
       " '15 Februar 2012',\n",
       " '14 Februar 2012',\n",
       " '13 Februar 2012',\n",
       " '13 Februar 2012',\n",
       " '13 Februar 2012',\n",
       " '10 Februar 2012',\n",
       " '9 Februar 2012',\n",
       " '8 Februar 2012',\n",
       " '7 Februar 2012',\n",
       " '6 Februar 2012',\n",
       " '6 Februar 2012',\n",
       " '6 Februar 2012',\n",
       " '5 Februar 2012',\n",
       " '5 Februar 2012',\n",
       " '4 Februar 2012',\n",
       " '3 Februar 2012',\n",
       " '30 Januar 2012',\n",
       " '30 Januar 2012',\n",
       " '30 Januar 2012',\n",
       " '29 Januar 2012',\n",
       " '29 Januar 2012',\n",
       " '29 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '26 Januar 2012',\n",
       " '25 Januar 2012',\n",
       " '25 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '17 Januar 2012',\n",
       " '17 Januar 2012',\n",
       " '17 Januar 2012',\n",
       " '16 Januar 2012',\n",
       " '16 Januar 2012',\n",
       " '15 Januar 2012',\n",
       " '15 Januar 2012',\n",
       " '14 Januar 2012',\n",
       " '13 Januar 2012',\n",
       " '12 Januar 2012',\n",
       " '12 Januar 2012',\n",
       " '10 Januar 2012',\n",
       " '9 Januar 2012',\n",
       " '8 Januar 2012',\n",
       " '5 Januar 2012',\n",
       " '3 Januar 2012',\n",
       " '3 Januar 2012',\n",
       " '28 Dezember 2012',\n",
       " '27 Dezember 2012',\n",
       " '25 Dezember 2012',\n",
       " '9 Dezember 2012',\n",
       " '2 Dezember 2012',\n",
       " '28 November 2012',\n",
       " '27 November 2012',\n",
       " '8 November 2012',\n",
       " '8 November 2012',\n",
       " '5 November 2012',\n",
       " '2 November 2012',\n",
       " '30 Oktober 2012',\n",
       " '15 Oktober 2012',\n",
       " '11 Oktober 2012',\n",
       " '8 Oktober 2012',\n",
       " '1 Oktober 2012',\n",
       " '22 September 2012',\n",
       " '20 September 2012',\n",
       " '17 September 2012',\n",
       " '12 September 2012',\n",
       " '11 September 2012',\n",
       " '11 September 2012',\n",
       " '6 September 2012',\n",
       " '6 September 2012',\n",
       " '4 September 2012',\n",
       " '4 September 2012']"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['30 Dezember 2010',\n",
       " '24 Dezember 2010',\n",
       " '20 Dezember 2010',\n",
       " '16 Dezember 2010',\n",
       " '14 Dezember 2010',\n",
       " '13 Dezember 2010',\n",
       " '6 Dezember 2010',\n",
       " '30 November 2010',\n",
       " '30 November 2010',\n",
       " '30 November 2010',\n",
       " '30 November 2010',\n",
       " '29 November 2010',\n",
       " '27 November 2010',\n",
       " '27 November 2010',\n",
       " '27 November 2010',\n",
       " '20 November 2010',\n",
       " '11 November 2010',\n",
       " '8 November 2010',\n",
       " '31 Oktober 2010',\n",
       " '29 Oktober 2010',\n",
       " '27 Oktober 2010',\n",
       " '27 Oktober 2010',\n",
       " '27 Oktober 2010',\n",
       " '22 Oktober 2010',\n",
       " '22 Oktober 2010',\n",
       " '22 Oktober 2010',\n",
       " '15 Oktober 2010',\n",
       " '4 Oktober 2010',\n",
       " '22 September 2010',\n",
       " '18 August 2010',\n",
       " '4 August 2010',\n",
       " '1 August 2010',\n",
       " '23 Juli 2010',\n",
       " '19 Juli 2010',\n",
       " '13 Juli 2010',\n",
       " '8 Juli 2010',\n",
       " '1 Juli 2010',\n",
       " '30 Juni 2010',\n",
       " '24 Juni 2010',\n",
       " '23 Juni 2010',\n",
       " '19 Juni 2010',\n",
       " '10 Juni 2010',\n",
       " '29 Mai 2010',\n",
       " '24 Mai 2010',\n",
       " '24 Mai 2010',\n",
       " '14 Mai 2010',\n",
       " '13 Mai 2010',\n",
       " '26 April 2010',\n",
       " '24 April 2010',\n",
       " '19 April 2010',\n",
       " '15 April 2010',\n",
       " '11 April 2010',\n",
       " '7 April 2010',\n",
       " '4 April 2010',\n",
       " '2 April 2010',\n",
       " '26 März 2010',\n",
       " '25 März 2010',\n",
       " '24 März 2010',\n",
       " '19 März 2010',\n",
       " '15 März 2010',\n",
       " '12 März 2010',\n",
       " '3 März 2010',\n",
       " '19 Februar 2010',\n",
       " '16 Februar 2010',\n",
       " '11 Februar 2010',\n",
       " '8 Februar 2010',\n",
       " '7 Februar 2010',\n",
       " '25 Januar 2010',\n",
       " '19 Januar 2010',\n",
       " '15 Januar 2010',\n",
       " '15 Januar 2010',\n",
       " '15 Januar 2010',\n",
       " '13 Januar 2010',\n",
       " '12 Januar 2010',\n",
       " '10 Januar 2010',\n",
       " '31 Dezember 2011',\n",
       " '25 Dezember 2011',\n",
       " '16 Dezember 2011',\n",
       " '16 Dezember 2011',\n",
       " '15 Dezember 2011',\n",
       " '15 Dezember 2011',\n",
       " '15 Dezember 2011',\n",
       " '14 Dezember 2011',\n",
       " '13 Dezember 2011',\n",
       " '12 Dezember 2011',\n",
       " '11 Dezember 2011',\n",
       " '9 Dezember 2011',\n",
       " '6 Dezember 2011',\n",
       " '29 November 2011',\n",
       " '28 November 2011',\n",
       " '27 November 2011',\n",
       " '27 November 2011',\n",
       " '25 November 2011',\n",
       " '23 November 2011',\n",
       " '17 November 2011',\n",
       " '16 November 2011',\n",
       " '16 November 2011',\n",
       " '16 November 2011',\n",
       " '15 November 2011',\n",
       " '13 November 2011',\n",
       " '29 Oktober 2011',\n",
       " '19 Oktober 2011',\n",
       " '2 Oktober 2011',\n",
       " '27 September 2011',\n",
       " '20 September 2011',\n",
       " '19 September 2011',\n",
       " '30 August 2011',\n",
       " '29 August 2011',\n",
       " '24 August 2011',\n",
       " '22 August 2011',\n",
       " '30 Juli 2011',\n",
       " '29 Juli 2011',\n",
       " '27 Juli 2011',\n",
       " '24 Juli 2011',\n",
       " '15 Juli 2011',\n",
       " '14 Juli 2011',\n",
       " '8 Juli 2011',\n",
       " '8 Juli 2011',\n",
       " '8 Juli 2011',\n",
       " '4 Juli 2011',\n",
       " '30 Juni 2011',\n",
       " '21 Juni 2011',\n",
       " '21 Juni 2011',\n",
       " '18 Juni 2011',\n",
       " '9 Juni 2011',\n",
       " '9 Juni 2011',\n",
       " '8 Juni 2011',\n",
       " '29 Mai 2011',\n",
       " '23 Mai 2011',\n",
       " '22 Mai 2011',\n",
       " '16 Mai 2011',\n",
       " '16 Mai 2011',\n",
       " '13 Mai 2011',\n",
       " '11 Mai 2011',\n",
       " '9 Mai 2011',\n",
       " '23 April 2011',\n",
       " '14 April 2011',\n",
       " '9 April 2011',\n",
       " '29 März 2011',\n",
       " '22 März 2011',\n",
       " '22 März 2011',\n",
       " '2 März 2011',\n",
       " '2 März 2011',\n",
       " '26 Februar 2011',\n",
       " '23 Februar 2011',\n",
       " '22 Februar 2011',\n",
       " '17 Februar 2011',\n",
       " '12 Februar 2011',\n",
       " '14 Januar 2011',\n",
       " '20 August 2012',\n",
       " '15 August 2012',\n",
       " '14 August 2012',\n",
       " '11 August 2012',\n",
       " '11 August 2012',\n",
       " '11 August 2012',\n",
       " '10 August 2012',\n",
       " '10 August 2012',\n",
       " '6 August 2012',\n",
       " '5 August 2012',\n",
       " '28 Juli 2012',\n",
       " '26 Juli 2012',\n",
       " '17 Juli 2012',\n",
       " '16 Juli 2012',\n",
       " '15 Juli 2012',\n",
       " '14 Juli 2012',\n",
       " '13 Juli 2012',\n",
       " '10 Juli 2012',\n",
       " '5 Juli 2012',\n",
       " '5 Juli 2012',\n",
       " '4 Juli 2012',\n",
       " '30 Juni 2012',\n",
       " '29 Juni 2012',\n",
       " '20 Juni 2012',\n",
       " '11 Juni 2012',\n",
       " '4 Juni 2012',\n",
       " '28 Mai 2012',\n",
       " '28 Mai 2012',\n",
       " '21 Mai 2012',\n",
       " '17 Mai 2012',\n",
       " '14 Mai 2012',\n",
       " '10 Mai 2012',\n",
       " '8 Mai 2012',\n",
       " '7 Mai 2012',\n",
       " '6 Mai 2012',\n",
       " '6 Mai 2012',\n",
       " '2 Mai 2012',\n",
       " '30 April 2012',\n",
       " '27 April 2012',\n",
       " '24 April 2012',\n",
       " '22 April 2012',\n",
       " '22 April 2012',\n",
       " '16 April 2012',\n",
       " '15 April 2012',\n",
       " '13 April 2012',\n",
       " '10 April 2012',\n",
       " '10 April 2012',\n",
       " '1 April 2012',\n",
       " '30 März 2012',\n",
       " '29 März 2012',\n",
       " '29 März 2012',\n",
       " '26 März 2012',\n",
       " '22 März 2012',\n",
       " '13 März 2012',\n",
       " '12 März 2012',\n",
       " '9 März 2012',\n",
       " '3 März 2012',\n",
       " '3 März 2012',\n",
       " '27 Februar 2012',\n",
       " '27 Februar 2012',\n",
       " '26 Februar 2012',\n",
       " '23 Februar 2012',\n",
       " '18 Februar 2012',\n",
       " '18 Februar 2012',\n",
       " '16 Februar 2012',\n",
       " '16 Februar 2012',\n",
       " '16 Februar 2012',\n",
       " '15 Februar 2012',\n",
       " '15 Februar 2012',\n",
       " '15 Februar 2012',\n",
       " '14 Februar 2012',\n",
       " '13 Februar 2012',\n",
       " '13 Februar 2012',\n",
       " '13 Februar 2012',\n",
       " '10 Februar 2012',\n",
       " '9 Februar 2012',\n",
       " '8 Februar 2012',\n",
       " '7 Februar 2012',\n",
       " '6 Februar 2012',\n",
       " '6 Februar 2012',\n",
       " '6 Februar 2012',\n",
       " '5 Februar 2012',\n",
       " '5 Februar 2012',\n",
       " '4 Februar 2012',\n",
       " '3 Februar 2012',\n",
       " '30 Januar 2012',\n",
       " '30 Januar 2012',\n",
       " '30 Januar 2012',\n",
       " '29 Januar 2012',\n",
       " '29 Januar 2012',\n",
       " '29 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '27 Januar 2012',\n",
       " '26 Januar 2012',\n",
       " '25 Januar 2012',\n",
       " '25 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '24 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '23 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '22 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '21 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '20 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '19 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '18 Januar 2012',\n",
       " '17 Januar 2012',\n",
       " '17 Januar 2012',\n",
       " '17 Januar 2012',\n",
       " '16 Januar 2012',\n",
       " '16 Januar 2012',\n",
       " '15 Januar 2012',\n",
       " '15 Januar 2012',\n",
       " '14 Januar 2012',\n",
       " '13 Januar 2012',\n",
       " '12 Januar 2012',\n",
       " '12 Januar 2012',\n",
       " '10 Januar 2012',\n",
       " '9 Januar 2012',\n",
       " '8 Januar 2012',\n",
       " '5 Januar 2012',\n",
       " '3 Januar 2012',\n",
       " '3 Januar 2012',\n",
       " '28 Dezember 2012',\n",
       " '27 Dezember 2012',\n",
       " '25 Dezember 2012',\n",
       " '9 Dezember 2012',\n",
       " '2 Dezember 2012',\n",
       " '28 November 2012',\n",
       " '27 November 2012',\n",
       " '8 November 2012',\n",
       " '8 November 2012',\n",
       " '5 November 2012',\n",
       " '2 November 2012',\n",
       " '30 Oktober 2012',\n",
       " '15 Oktober 2012',\n",
       " '11 Oktober 2012',\n",
       " '8 Oktober 2012',\n",
       " '1 Oktober 2012',\n",
       " '22 September 2012',\n",
       " '20 September 2012',\n",
       " '17 September 2012',\n",
       " '12 September 2012',\n",
       " '11 September 2012',\n",
       " '11 September 2012',\n",
       " '6 September 2012',\n",
       " '6 September 2012',\n",
       " '4 September 2012',\n",
       " '4 September 2012']"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "date"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "for i in range(len(articles_dict)):\n",
    "    articles_dict[i]['date'] = date[i]\n",
    "    articles_dict[i]['article_id'] = i"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Option A: Split into paragraphs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'infoblock': ' !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PARAGRAPH!Tech giants face revised patent lawsuit!PARAGRAPH!!PARAGRAPH!565 Wörter!PARAGRAPH!30 Dezember 2010!PARAGRAPH!The Washington Post!PARAGRAPH!WP!PARAGRAPH!FINAL!PARAGRAPH!A11',\n",
       " 'fulltext': \"Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.!PARAGRAPH!!PARAGRAPH!Interval Licensing owns the rights to information systems, computer science and communications technology developed by Interval Research, which Allen co-founded in the 1990s. Interval Research no longer exists.!PARAGRAPH!!PARAGRAPH!The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook, Google, Google's video site YouTube, AOL, Apple, Yahoo, Netflix, eBay, Office Depot, OfficeMax and Staples.!PARAGRAPH!!PARAGRAPH!U.S. District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products. Interval's new suit, filed Tuesday in Seattle, is chock-full of examples of the four patents in question. Two of the patents relate to the way Web sites suggest additional, related content.!PARAGRAPH!!PARAGRAPH!Interval is asking for damages and, going forward, either royalties or a ban on the companies' use of the technology.!PARAGRAPH!!PARAGRAPH!The blizzard that swept through the Northeast on Sunday and Monday delayed $1 billion in retail spending, according to research firm ShopperTrak, but won't derail a holiday shopping season expected to be the best since 2007.!PARAGRAPH!!PARAGRAPH!The effect won't be as bad as last year's pre-Christmas snowstorm that similarly paralyzed parts of the East Coast. That cost retailers an estimated $2 billion, according to the weather research firm Planalytics.!PARAGRAPH!!PARAGRAPH!About $10 billion in retail sales usually occurs on the two days after Christmas, ShopperTrak says. Bad weather likely delayed about 10 percent of that.!PARAGRAPH!!PARAGRAPH!The storm's effects weren't enough to change ShopperTrak's estimate for a 4 percent gain over last year in revenue for the Nov. 1-Dec. 31 holiday season. Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored.!PARAGRAPH!!PARAGRAPH!This year's storm cost retailers 11.2 percent of their foot traffic Sunday and 13.9 percent Monday, ShopperTrak estimates.!PARAGRAPH!!PARAGRAPH!The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams, one led by Lockheed Martin and one led by Austal.!PARAGRAPH!!PARAGRAPH!The Lockheed Martin team received a $491 million contract that could be worth as much as $4 billion when all options are exercised, the Navy said Wednesday in a statement. Austal won a $465 million contract that could reach as much $3.78 billion if all options are exercised.!PARAGRAPH!!PARAGRAPH!Congress approved the Navy's plans last week to buy ships from both of two teams under a dual-design approach, rather than choosing just one supplier as announced in September. The bids submitted averaged $440 million per ship, including construction and potential changes, Navy officials told lawmakers two weeks ago.!PARAGRAPH!!PARAGRAPH!Lockheed, based in Bethesda, and Marinette Marine are working together on one model, while the other is being developed by the U.S. subsidiary of Australia's Austal and General Dynamics. General Dynamics, based in Falls Church, is providing combat systems for the Austal vessel.!PARAGRAPH!!PARAGRAPH!Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels, such as destroyers, in missions such as clearing mines, hunting submarines and providing humanitarian relief. The Navy projects that it will buy 55 ships under the program.!PARAGRAPH!!PARAGRAPH!- Bloomberg News!PARAGRAPH!!PARAGRAPH!http://www.washingtonpost.com!PARAGRAPH!!PARAGRAPH!WP20101230digest30!PARAGRAPH!!PARAGRAPH!\",\n",
       " 'date': '30 Dezember 2010',\n",
       " 'article_id': 0,\n",
       " 'paragraphs': ['Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.',\n",
       "  'Interval Licensing owns the rights to information systems, computer science and communications technology developed by Interval Research, which Allen co-founded in the 1990s. Interval Research no longer exists.',\n",
       "  \"The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook, Google, Google's video site YouTube, AOL, Apple, Yahoo, Netflix, eBay, Office Depot, OfficeMax and Staples.\",\n",
       "  \"U.S. District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products. Interval's new suit, filed Tuesday in Seattle, is chock-full of examples of the four patents in question. Two of the patents relate to the way Web sites suggest additional, related content.\",\n",
       "  \"Interval is asking for damages and, going forward, either royalties or a ban on the companies' use of the technology.\",\n",
       "  \"The blizzard that swept through the Northeast on Sunday and Monday delayed $1 billion in retail spending, according to research firm ShopperTrak, but won't derail a holiday shopping season expected to be the best since 2007.\",\n",
       "  \"The effect won't be as bad as last year's pre-Christmas snowstorm that similarly paralyzed parts of the East Coast. That cost retailers an estimated $2 billion, according to the weather research firm Planalytics.\",\n",
       "  'About $10 billion in retail sales usually occurs on the two days after Christmas, ShopperTrak says. Bad weather likely delayed about 10 percent of that.',\n",
       "  \"The storm's effects weren't enough to change ShopperTrak's estimate for a 4 percent gain over last year in revenue for the Nov. 1-Dec. 31 holiday season. Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored.\",\n",
       "  \"This year's storm cost retailers 11.2 percent of their foot traffic Sunday and 13.9 percent Monday, ShopperTrak estimates.\",\n",
       "  'The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams, one led by Lockheed Martin and one led by Austal.',\n",
       "  'The Lockheed Martin team received a $491 million contract that could be worth as much as $4 billion when all options are exercised, the Navy said Wednesday in a statement. Austal won a $465 million contract that could reach as much $3.78 billion if all options are exercised.',\n",
       "  \"Congress approved the Navy's plans last week to buy ships from both of two teams under a dual-design approach, rather than choosing just one supplier as announced in September. The bids submitted averaged $440 million per ship, including construction and potential changes, Navy officials told lawmakers two weeks ago.\",\n",
       "  \"Lockheed, based in Bethesda, and Marinette Marine are working together on one model, while the other is being developed by the U.S. subsidiary of Australia's Austal and General Dynamics. General Dynamics, based in Falls Church, is providing combat systems for the Austal vessel.\",\n",
       "  'Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels, such as destroyers, in missions such as clearing mines, hunting submarines and providing humanitarian relief. The Navy projects that it will buy 55 ships under the program.',\n",
       "  '- Bloomberg News',\n",
       "  'http://www.washingtonpost.com',\n",
       "  'WP20101230digest30',\n",
       "  '']}"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "for article in articles_dict:\n",
    "    article['paragraphs'] = article['fulltext'].split(r\"!PARAGRAPH!!PARAGRAPH!\")\n",
    "articles_dict[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.'"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "paragraph_dict = []\n",
    "\n",
    "for article in articles_dict:\n",
    "    for i in range(len(article['paragraphs'])):\n",
    "        paragraph_dict.append({\n",
    "            'paragraph': article['paragraphs'][i],\n",
    "            'article_id': article['article_id'],\n",
    "            'fulltext': article['fulltext'],\n",
    "            'infoblock': article['infoblock'],\n",
    "            'date': article['date']\n",
    "        })\n",
    "        \n",
    "paragraph_dict[0]['paragraph']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Delete short paragraphs\n",
    "for paragraph in paragraph_dict:\n",
    "    if len(paragraph['paragraph']) < 30:\n",
    "        paragraph_dict.remove(paragraph)\n",
    "        #print(\"The following words were removed:\", paragraph) #print the paragraph that was removed\n",
    "    else:\n",
    "        pass"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6745"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(paragraph_dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "#create paragraph id\n",
    "for i in range(len(paragraph_dict)):\n",
    "    paragraph_dict[i]['paragraph_id'] = i"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Put into dataframe and add datetime index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>paragraph</th>\n",
       "      <th>article_id</th>\n",
       "      <th>fulltext</th>\n",
       "      <th>infoblock</th>\n",
       "      <th>date</th>\n",
       "      <th>paragraph_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>0</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>30 Dezember 2010</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Interval Licensing owns the rights to informat...</td>\n",
       "      <td>0</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>30 Dezember 2010</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>The filing is a revision of the lawsuit Interv...</td>\n",
       "      <td>0</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>30 Dezember 2010</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>U.S. District Judge Marsha Pechman in Seattle ...</td>\n",
       "      <td>0</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>30 Dezember 2010</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Interval is asking for damages and, going forw...</td>\n",
       "      <td>0</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>30 Dezember 2010</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6740</th>\n",
       "      <td>Gottfrid Svartholm Warg, 27 years old, was arr...</td>\n",
       "      <td>339</td>\n",
       "      <td>SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>6740</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6741</th>\n",
       "      <td>Mr. Svartholm left Sweden before the verdict o...</td>\n",
       "      <td>339</td>\n",
       "      <td>SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>6741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6742</th>\n",
       "      <td>Neither Mr. Svartholm nor his lawyers in Swede...</td>\n",
       "      <td>339</td>\n",
       "      <td>SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>6742</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6743</th>\n",
       "      <td>Subscribe to WSJ:</td>\n",
       "      <td>339</td>\n",
       "      <td>SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>6743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6744</th>\n",
       "      <td></td>\n",
       "      <td>339</td>\n",
       "      <td>SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>6744</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>6745 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                              paragraph  article_id  \\\n",
       "0     Interval Licensing, a Seattle firm owned by bi...           0   \n",
       "1     Interval Licensing owns the rights to informat...           0   \n",
       "2     The filing is a revision of the lawsuit Interv...           0   \n",
       "3     U.S. District Judge Marsha Pechman in Seattle ...           0   \n",
       "4     Interval is asking for damages and, going forw...           0   \n",
       "...                                                 ...         ...   \n",
       "6740  Gottfrid Svartholm Warg, 27 years old, was arr...         339   \n",
       "6741  Mr. Svartholm left Sweden before the verdict o...         339   \n",
       "6742  Neither Mr. Svartholm nor his lawyers in Swede...         339   \n",
       "6743                                 Subscribe to WSJ:          339   \n",
       "6744                                                            339   \n",
       "\n",
       "                                               fulltext  \\\n",
       "0     Interval Licensing, a Seattle firm owned by bi...   \n",
       "1     Interval Licensing, a Seattle firm owned by bi...   \n",
       "2     Interval Licensing, a Seattle firm owned by bi...   \n",
       "3     Interval Licensing, a Seattle firm owned by bi...   \n",
       "4     Interval Licensing, a Seattle firm owned by bi...   \n",
       "...                                                 ...   \n",
       "6740  SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...   \n",
       "6741  SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...   \n",
       "6742  SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...   \n",
       "6743  SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...   \n",
       "6744  SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...   \n",
       "\n",
       "                                              infoblock              date  \\\n",
       "0      !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...  30 Dezember 2010   \n",
       "1      !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...  30 Dezember 2010   \n",
       "2      !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...  30 Dezember 2010   \n",
       "3      !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...  30 Dezember 2010   \n",
       "4      !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...  30 Dezember 2010   \n",
       "...                                                 ...               ...   \n",
       "6740  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  4 September 2012   \n",
       "6741  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  4 September 2012   \n",
       "6742  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  4 September 2012   \n",
       "6743  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  4 September 2012   \n",
       "6744  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  4 September 2012   \n",
       "\n",
       "      paragraph_id  \n",
       "0                0  \n",
       "1                1  \n",
       "2                2  \n",
       "3                3  \n",
       "4                4  \n",
       "...            ...  \n",
       "6740          6740  \n",
       "6741          6741  \n",
       "6742          6742  \n",
       "6743          6743  \n",
       "6744          6744  \n",
       "\n",
       "[6745 rows x 6 columns]"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_factiva_p = pd.DataFrame.from_dict(paragraph_dict)\n",
    "df_factiva_p"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-28-8ea071377f2c>:16: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_factiva_p['date'][i] = re.sub(old, new, df_factiva_p['date'][i])\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(6745, 6)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>paragraph</th>\n",
       "      <th>article_id</th>\n",
       "      <th>fulltext</th>\n",
       "      <th>infoblock</th>\n",
       "      <th>date</th>\n",
       "      <th>paragraph_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1555</th>\n",
       "      <td>Two of the world's largest record companies jo...</td>\n",
       "      <td>78</td>\n",
       "      <td>More Record Labels!PARAGRAPH!!PARAGRAPH!Take O...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>16 12 2011</td>\n",
       "      <td>1555</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4609</th>\n",
       "      <td>At the very least, as a universe of songs, ima...</td>\n",
       "      <td>232</td>\n",
       "      <td>Does the Internet have a soul?!PARAGRAPH!!PARA...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>4 02 2012</td>\n",
       "      <td>4609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2906</th>\n",
       "      <td>PHOTO: Manager Chuck Tanner greeting Bill Madl...</td>\n",
       "      <td>147</td>\n",
       "      <td>Chuck Tanner, who spent 19 seasons as a big le...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>12 02 2011</td>\n",
       "      <td>2906</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3308</th>\n",
       "      <td>A look at the code behind the page reveals tha...</td>\n",
       "      <td>167</td>\n",
       "      <td>PHILADELPHIA - The federal government last wee...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>5 07 2012</td>\n",
       "      <td>3308</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3457</th>\n",
       "      <td>I asked friends who have also cut the cord how...</td>\n",
       "      <td>173</td>\n",
       "      <td>After cutting the cable TV cord two years ago,...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>11 06 2012</td>\n",
       "      <td>3457</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2210</th>\n",
       "      <td>The first hint of television's unbundling actu...</td>\n",
       "      <td>113</td>\n",
       "      <td>PICTURE this: TV anyway, anywhere.!PARAGRAPH!!...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>24 07 2011</td>\n",
       "      <td>2210</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6047</th>\n",
       "      <td>Tucked among the 2,700 exhibitors at the Inter...</td>\n",
       "      <td>309</td>\n",
       "      <td>Tucked among the 2,700 exhibitors at the Inter...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>9 01 2012</td>\n",
       "      <td>6047</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3112</th>\n",
       "      <td>Spiders Alive! Girl Scouts get a close experie...</td>\n",
       "      <td>159</td>\n",
       "      <td>CORRECTION APPENDED!PARAGRAPH!!PARAGRAPH!''Sho...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>28 07 2012</td>\n",
       "      <td>3112</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>614</th>\n",
       "      <td>''The consumer is blind as to the source of th...</td>\n",
       "      <td>31</td>\n",
       "      <td>In this economy, even counterfeiters are tradi...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>1 08 2010</td>\n",
       "      <td>614</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3521</th>\n",
       "      <td>The push for more transparency in the regulato...</td>\n",
       "      <td>176</td>\n",
       "      <td>PARIS -- When Italians said good riddance to S...</td>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>28 05 2012</td>\n",
       "      <td>3521</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                              paragraph  article_id  \\\n",
       "1555  Two of the world's largest record companies jo...          78   \n",
       "4609  At the very least, as a universe of songs, ima...         232   \n",
       "2906  PHOTO: Manager Chuck Tanner greeting Bill Madl...         147   \n",
       "3308  A look at the code behind the page reveals tha...         167   \n",
       "3457  I asked friends who have also cut the cord how...         173   \n",
       "2210  The first hint of television's unbundling actu...         113   \n",
       "6047  Tucked among the 2,700 exhibitors at the Inter...         309   \n",
       "3112  Spiders Alive! Girl Scouts get a close experie...         159   \n",
       "614   ''The consumer is blind as to the source of th...          31   \n",
       "3521  The push for more transparency in the regulato...         176   \n",
       "\n",
       "                                               fulltext  \\\n",
       "1555  More Record Labels!PARAGRAPH!!PARAGRAPH!Take O...   \n",
       "4609  Does the Internet have a soul?!PARAGRAPH!!PARA...   \n",
       "2906  Chuck Tanner, who spent 19 seasons as a big le...   \n",
       "3308  PHILADELPHIA - The federal government last wee...   \n",
       "3457  After cutting the cable TV cord two years ago,...   \n",
       "2210  PICTURE this: TV anyway, anywhere.!PARAGRAPH!!...   \n",
       "6047  Tucked among the 2,700 exhibitors at the Inter...   \n",
       "3112  CORRECTION APPENDED!PARAGRAPH!!PARAGRAPH!''Sho...   \n",
       "614   In this economy, even counterfeiters are tradi...   \n",
       "3521  PARIS -- When Italians said good riddance to S...   \n",
       "\n",
       "                                              infoblock        date  \\\n",
       "1555  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  16 12 2011   \n",
       "4609  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   4 02 2012   \n",
       "2906  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  12 02 2011   \n",
       "3308  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   5 07 2012   \n",
       "3457  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  11 06 2012   \n",
       "2210  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  24 07 2011   \n",
       "6047  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   9 01 2012   \n",
       "3112  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  28 07 2012   \n",
       "614   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   1 08 2010   \n",
       "3521  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...  28 05 2012   \n",
       "\n",
       "      paragraph_id  \n",
       "1555          1555  \n",
       "4609          4609  \n",
       "2906          2906  \n",
       "3308          3308  \n",
       "3457          3457  \n",
       "2210          2210  \n",
       "6047          6047  \n",
       "3112          3112  \n",
       "614            614  \n",
       "3521          3521  "
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "repl = [(r\"Januar\", \"01\"), \n",
    "        (r\"Februar\", \"02\"), \n",
    "        (r\"März\", \"03\"),\n",
    "        (r\"April\", \"04\"),\n",
    "        (r\"Mai\", \"05\"),\n",
    "        (r\"Juni\", \"06\"),\n",
    "        (r\"Juli\", \"07\"),\n",
    "        (r\"August\", \"08\"),\n",
    "        (r\"September\", \"09\"),\n",
    "        (r\"Oktober\", \"10\"),\n",
    "        (r\"November\", \"11\"),\n",
    "        (r\"Dezember\", \"12\")]\n",
    "\n",
    "for i in range(len(df_factiva_p['date'])):\n",
    "    for old, new in repl:\n",
    "        df_factiva_p['date'][i] = re.sub(old, new, df_factiva_p['date'][i])\n",
    "        \n",
    "print(df_factiva_p.shape)\n",
    "df_factiva_p.sample(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_factiva_p['datetime'] = pd.to_datetime(df_factiva_p['date'], format=\"%d %m %Y\")\n",
    "df_factiva_p = df_factiva_p.set_index('datetime')\n",
    "df_factiva_p.head()\n",
    "\n",
    "df_factiva_p.to_csv(\"newspapersUSA.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime\n",
       "2010-01-10     11\n",
       "2010-01-11      0\n",
       "2010-01-12     22\n",
       "2010-01-13     27\n",
       "2010-01-14      0\n",
       "             ... \n",
       "2012-12-24      0\n",
       "2012-12-25      4\n",
       "2012-12-26      0\n",
       "2012-12-27     18\n",
       "2012-12-28    101\n",
       "Freq: D, Length: 1084, dtype: int64"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "daily = df_factiva_p.resample('D').size()\n",
    "daily"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime\n",
       "2010-01-10     11\n",
       "2010-01-17     72\n",
       "2010-01-24     16\n",
       "2010-01-31     34\n",
       "2010-02-07     22\n",
       "             ... \n",
       "2012-12-02     72\n",
       "2012-12-09     17\n",
       "2012-12-16      0\n",
       "2012-12-23      0\n",
       "2012-12-30    123\n",
       "Freq: W-SUN, Length: 156, dtype: int64"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weekly = df_factiva_p.resample('W').size()\n",
    "weekly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pandas.plotting import register_matplotlib_converters\n",
    "register_matplotlib_converters() #datetime function is not integrated beyond pandas this library allows matplotlib to process it\n",
    "\n",
    "fig, ax = plt.subplots()\n",
    "ax.plot(weekly, color='black')\n",
    "\n",
    "# add a vertical line for American Censorship Day and Internet Blackout\n",
    "#ax.axvline(pd.to_datetime('2011-11-16'), color='crimson', linestyle='--', lw=1.5) # tell where the line is with pandas to datetime function\n",
    "#ax.axvline(pd.to_datetime('2012-01-18'), color='blue', linestyle='--', lw=1.5)\n",
    "\n",
    "#annotation\n",
    "ax.annotate('Hearing \\nOnline Piracy',\n",
    "           xytext=[pd.Timestamp('2010-01'), 200],\n",
    "           xy=[pd.to_datetime('2011-03-14'), daily.loc[pd.to_datetime('2011-03-14')]],\n",
    "            color='crimson',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('Introduction \\nPIPA',\n",
    "           xytext=[pd.Timestamp('2010-01'), 200],\n",
    "           xy=[pd.to_datetime('2011-05-12'), daily.loc[pd.to_datetime('2011-05-12')]],\n",
    "            color='crimson',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('Introduction \\nSOPA',\n",
    "           xytext=[pd.Timestamp('2010-01'), 200],\n",
    "           xy=[pd.to_datetime('2011-10-26'), daily.loc[pd.to_datetime('2011-10-26')]],\n",
    "            color='crimson',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('American \\nCensorship \\nDay',\n",
    "           xytext=[pd.Timestamp('2010-01'), 200],\n",
    "           xy=[pd.to_datetime('2011-11-16'), daily.loc[pd.to_datetime('2011-11-16')]],\n",
    "            color='crimson',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'black'})\n",
    "ax.annotate('Internet \\nBlackout',\n",
    "           xytext=[pd.Timestamp('2011-06'), 800],\n",
    "           xy=[pd.to_datetime('2012-01-18'), daily.loc[pd.to_datetime('2012-01-18')]],\n",
    "            color='black',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'black'})\n",
    "ax.annotate('Hearing \\nSOPA',\n",
    "           xytext=[pd.Timestamp('2010-06'), 400],\n",
    "           xy=[pd.to_datetime('2011-12-16'), daily.loc[pd.to_datetime('2011-12-16')]],\n",
    "            color='green',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('GoDaddy \\nBoycott',\n",
    "           xytext=[pd.Timestamp('2011-01'), 600],\n",
    "           xy=[pd.to_datetime('2011-12-23'), daily.loc[pd.to_datetime('2011-12-23')]],\n",
    "            color='blue',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                       'color': 'blue'})\n",
    "\n",
    "#delete frame lines at the top and to the right\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['top'].set_visible(False)\n",
    "\n",
    "#labels and ticks\n",
    "ax.set_xlabel('Weekly observations')\n",
    "ax.set_ylabel('Number of Articles')\n",
    "ax.tick_params(axis ='both', which ='both', length = 2) #length of tick marks\n",
    "# tick labels\n",
    "ax.xaxis.set_major_locator(dates.YearLocator())\n",
    "ax.xaxis.set_major_formatter(dates.DateFormatter('%m\\n%Y'))\n",
    "ax.xaxis.set_minor_locator(dates.MonthLocator())\n",
    "ax.xaxis.set_minor_formatter(dates.DateFormatter('%m'))\n",
    "\n",
    "ax.set_title('Salience of COICA, SOPA, PIPA in US Newspapers\\n')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Natural Language Processing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Remove Punctuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Interval Licensing a Seattle firm owned by billionaire Microsoft cofounder Paul Allen has filed an amended lawsuit against Facebook Google and nine other companies claiming they infringed on patented Web technology'"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#remove punctuations\n",
    "df_factiva_p['paragraph'] = [\"\".join([l for l in article if l not in punctuation]) for article in df_factiva_p['paragraph']]\n",
    "df_factiva_p['paragraph'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'interval licensing a seattle firm owned by billionaire microsoft cofounder paul allen has filed an amended lawsuit against facebook google and nine other companies claiming they infringed on patented web technology'"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_factiva_p['paragraph'] = [article.lower() for article in df_factiva_p['paragraph']]  # convert to lower case\n",
    "df_factiva_p['paragraph'] = [\" \".join(article.split()) for article in df_factiva_p['paragraph']]   # remove double spaces by splitting the strings into words and joining these words again\n",
    "df_factiva_p['paragraph'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_factiva_p.to_csv(\"Test.csv\", encoding='utf-8')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Option B: Use fulltexts as unit of analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>infoblock</th>\n",
       "      <th>fulltext</th>\n",
       "      <th>date</th>\n",
       "      <th>article_id</th>\n",
       "      <th>paragraphs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>30 Dezember 2010</td>\n",
       "      <td>0</td>\n",
       "      <td>[Interval Licensing, a Seattle firm owned by b...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Blu-ray is emerging as a holiday hero for Holl...</td>\n",
       "      <td>24 Dezember 2010</td>\n",
       "      <td>1</td>\n",
       "      <td>[Blu-ray is emerging as a holiday hero for Hol...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>When federal authorities shut down five Web si...</td>\n",
       "      <td>20 Dezember 2010</td>\n",
       "      <td>2</td>\n",
       "      <td>[When federal authorities shut down five Web s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>WASHINGTON -- Senior Chinese officials pledged...</td>\n",
       "      <td>16 Dezember 2010</td>\n",
       "      <td>3</td>\n",
       "      <td>[WASHINGTON -- Senior Chinese officials pledge...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>The World Trade Organization has upheld the st...</td>\n",
       "      <td>14 Dezember 2010</td>\n",
       "      <td>4</td>\n",
       "      <td>[The World Trade Organization has upheld the s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>335</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>7:48 p.m. | Updated!PARAGRAPH!!PARAGRAPH!A sup...</td>\n",
       "      <td>11 September 2012</td>\n",
       "      <td>335</td>\n",
       "      <td>[7:48 p.m. | Updated, A supporter of Anonymous...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>336</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Cambodia is the latest country to come under s...</td>\n",
       "      <td>6 September 2012</td>\n",
       "      <td>336</td>\n",
       "      <td>[Cambodia is the latest country to come under ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>337</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Reddit founder Alexis Ohanian has accomplished...</td>\n",
       "      <td>6 September 2012</td>\n",
       "      <td>337</td>\n",
       "      <td>[Reddit founder Alexis Ohanian has accomplishe...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>338</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>PHNOM PENH, Cambodia (AP) -- A founder of the ...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>338</td>\n",
       "      <td>[PHNOM PENH, Cambodia (AP) -- A founder of the...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>339</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...</td>\n",
       "      <td>4 September 2012</td>\n",
       "      <td>339</td>\n",
       "      <td>[SAMSUNG ELECTRONICS, Firm Finds No Workers, U...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>340 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             infoblock  \\\n",
       "0     !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...   \n",
       "1    !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "2    !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "3    !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "4    !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "..                                                 ...   \n",
       "335  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "336  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "337  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "338  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "339  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "\n",
       "                                              fulltext               date  \\\n",
       "0    Interval Licensing, a Seattle firm owned by bi...   30 Dezember 2010   \n",
       "1    Blu-ray is emerging as a holiday hero for Holl...   24 Dezember 2010   \n",
       "2    When federal authorities shut down five Web si...   20 Dezember 2010   \n",
       "3    WASHINGTON -- Senior Chinese officials pledged...   16 Dezember 2010   \n",
       "4    The World Trade Organization has upheld the st...   14 Dezember 2010   \n",
       "..                                                 ...                ...   \n",
       "335  7:48 p.m. | Updated!PARAGRAPH!!PARAGRAPH!A sup...  11 September 2012   \n",
       "336  Cambodia is the latest country to come under s...   6 September 2012   \n",
       "337  Reddit founder Alexis Ohanian has accomplished...   6 September 2012   \n",
       "338  PHNOM PENH, Cambodia (AP) -- A founder of the ...   4 September 2012   \n",
       "339  SAMSUNG ELECTRONICS!PARAGRAPH!!PARAGRAPH!Firm ...   4 September 2012   \n",
       "\n",
       "     article_id                                         paragraphs  \n",
       "0             0  [Interval Licensing, a Seattle firm owned by b...  \n",
       "1             1  [Blu-ray is emerging as a holiday hero for Hol...  \n",
       "2             2  [When federal authorities shut down five Web s...  \n",
       "3             3  [WASHINGTON -- Senior Chinese officials pledge...  \n",
       "4             4  [The World Trade Organization has upheld the s...  \n",
       "..          ...                                                ...  \n",
       "335         335  [7:48 p.m. | Updated, A supporter of Anonymous...  \n",
       "336         336  [Cambodia is the latest country to come under ...  \n",
       "337         337  [Reddit founder Alexis Ohanian has accomplishe...  \n",
       "338         338  [PHNOM PENH, Cambodia (AP) -- A founder of the...  \n",
       "339         339  [SAMSUNG ELECTRONICS, Firm Finds No Workers, U...  \n",
       "\n",
       "[340 rows x 5 columns]"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_factiva = pd.DataFrame.from_dict(articles_dict)\n",
    "df_factiva"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "<ipython-input-43-99fac68b34c2>:16: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  df_factiva['date'][i] = re.sub(old, new, df_factiva['date'][i])\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(340, 5)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>infoblock</th>\n",
       "      <th>fulltext</th>\n",
       "      <th>date</th>\n",
       "      <th>article_id</th>\n",
       "      <th>paragraphs</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>EBAY!PARAGRAPH!!PARAGRAPH!Court Rejects Appeal...</td>\n",
       "      <td>2 04 2010</td>\n",
       "      <td>54</td>\n",
       "      <td>[EBAY, Court Rejects Appeal, By Tiffany in Law...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>WASHINGTON -- Senior Chinese officials pledged...</td>\n",
       "      <td>16 12 2010</td>\n",
       "      <td>3</td>\n",
       "      <td>[WASHINGTON -- Senior Chinese officials pledge...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>116</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Internet service providers including AT&amp;T, Ver...</td>\n",
       "      <td>8 07 2011</td>\n",
       "      <td>116</td>\n",
       "      <td>[Internet service providers including AT&amp;T, Ve...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>PARIS -- The highest court in the European Uni...</td>\n",
       "      <td>25 11 2011</td>\n",
       "      <td>92</td>\n",
       "      <td>[PARIS -- The highest court in the European Un...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>89</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Washington regulating the Internet is akin to ...</td>\n",
       "      <td>28 11 2011</td>\n",
       "      <td>89</td>\n",
       "      <td>[Washington regulating the Internet is akin to...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Days before Thanksgiving the CBS late-night ho...</td>\n",
       "      <td>13 12 2010</td>\n",
       "      <td>5</td>\n",
       "      <td>[Days before Thanksgiving the CBS late-night h...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>130</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>The entertainment industry threw its weight be...</td>\n",
       "      <td>16 05 2011</td>\n",
       "      <td>130</td>\n",
       "      <td>[The entertainment industry threw its weight b...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Why pay for a golf trip, dinner or full-page a...</td>\n",
       "      <td>24 04 2010</td>\n",
       "      <td>48</td>\n",
       "      <td>[Why pay for a golf trip, dinner or full-page ...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>204</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>The next big idea on the Web this election yea...</td>\n",
       "      <td>9 03 2012</td>\n",
       "      <td>204</td>\n",
       "      <td>[The next big idea on the Web this election ye...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>A federal crackdown that shut more than 70 web...</td>\n",
       "      <td>29 11 2010</td>\n",
       "      <td>11</td>\n",
       "      <td>[A federal crackdown that shut more than 70 we...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                             infoblock  \\\n",
       "54   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "3    !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "116  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "92   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "89   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "5    !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "130  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "48   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "204  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "11   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "\n",
       "                                              fulltext        date  \\\n",
       "54   EBAY!PARAGRAPH!!PARAGRAPH!Court Rejects Appeal...   2 04 2010   \n",
       "3    WASHINGTON -- Senior Chinese officials pledged...  16 12 2010   \n",
       "116  Internet service providers including AT&T, Ver...   8 07 2011   \n",
       "92   PARIS -- The highest court in the European Uni...  25 11 2011   \n",
       "89   Washington regulating the Internet is akin to ...  28 11 2011   \n",
       "5    Days before Thanksgiving the CBS late-night ho...  13 12 2010   \n",
       "130  The entertainment industry threw its weight be...  16 05 2011   \n",
       "48   Why pay for a golf trip, dinner or full-page a...  24 04 2010   \n",
       "204  The next big idea on the Web this election yea...   9 03 2012   \n",
       "11   A federal crackdown that shut more than 70 web...  29 11 2010   \n",
       "\n",
       "     article_id                                         paragraphs  \n",
       "54           54  [EBAY, Court Rejects Appeal, By Tiffany in Law...  \n",
       "3             3  [WASHINGTON -- Senior Chinese officials pledge...  \n",
       "116         116  [Internet service providers including AT&T, Ve...  \n",
       "92           92  [PARIS -- The highest court in the European Un...  \n",
       "89           89  [Washington regulating the Internet is akin to...  \n",
       "5             5  [Days before Thanksgiving the CBS late-night h...  \n",
       "130         130  [The entertainment industry threw its weight b...  \n",
       "48           48  [Why pay for a golf trip, dinner or full-page ...  \n",
       "204         204  [The next big idea on the Web this election ye...  \n",
       "11           11  [A federal crackdown that shut more than 70 we...  "
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "repl = [(r\"Januar\", \"01\"), \n",
    "        (r\"Februar\", \"02\"), \n",
    "        (r\"März\", \"03\"),\n",
    "        (r\"April\", \"04\"),\n",
    "        (r\"Mai\", \"05\"),\n",
    "        (r\"Juni\", \"06\"),\n",
    "        (r\"Juli\", \"07\"),\n",
    "        (r\"August\", \"08\"),\n",
    "        (r\"September\", \"09\"),\n",
    "        (r\"Oktober\", \"10\"),\n",
    "        (r\"November\", \"11\"),\n",
    "        (r\"Dezember\", \"12\")]\n",
    "\n",
    "for i in range(len(df_factiva['date'])):\n",
    "    for old, new in repl:\n",
    "        df_factiva['date'][i] = re.sub(old, new, df_factiva['date'][i])\n",
    "        \n",
    "print(df_factiva.shape)\n",
    "df_factiva.sample(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>infoblock</th>\n",
       "      <th>fulltext</th>\n",
       "      <th>date</th>\n",
       "      <th>article_id</th>\n",
       "      <th>paragraphs</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>datetime</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2010-12-30</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...</td>\n",
       "      <td>Interval Licensing, a Seattle firm owned by bi...</td>\n",
       "      <td>30 12 2010</td>\n",
       "      <td>0</td>\n",
       "      <td>[Interval Licensing, a Seattle firm owned by b...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-12-24</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>Blu-ray is emerging as a holiday hero for Holl...</td>\n",
       "      <td>24 12 2010</td>\n",
       "      <td>1</td>\n",
       "      <td>[Blu-ray is emerging as a holiday hero for Hol...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-12-20</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>When federal authorities shut down five Web si...</td>\n",
       "      <td>20 12 2010</td>\n",
       "      <td>2</td>\n",
       "      <td>[When federal authorities shut down five Web s...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-12-16</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>WASHINGTON -- Senior Chinese officials pledged...</td>\n",
       "      <td>16 12 2010</td>\n",
       "      <td>3</td>\n",
       "      <td>[WASHINGTON -- Senior Chinese officials pledge...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2010-12-14</th>\n",
       "      <td>!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...</td>\n",
       "      <td>The World Trade Organization has upheld the st...</td>\n",
       "      <td>14 12 2010</td>\n",
       "      <td>4</td>\n",
       "      <td>[The World Trade Organization has upheld the s...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                    infoblock  \\\n",
       "datetime                                                        \n",
       "2010-12-30   !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!A-Section!PA...   \n",
       "2010-12-24  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "2010-12-20  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "2010-12-16  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "2010-12-14  !PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!PARAGRAPH!!P...   \n",
       "\n",
       "                                                     fulltext        date  \\\n",
       "datetime                                                                    \n",
       "2010-12-30  Interval Licensing, a Seattle firm owned by bi...  30 12 2010   \n",
       "2010-12-24  Blu-ray is emerging as a holiday hero for Holl...  24 12 2010   \n",
       "2010-12-20  When federal authorities shut down five Web si...  20 12 2010   \n",
       "2010-12-16  WASHINGTON -- Senior Chinese officials pledged...  16 12 2010   \n",
       "2010-12-14  The World Trade Organization has upheld the st...  14 12 2010   \n",
       "\n",
       "            article_id                                         paragraphs  \n",
       "datetime                                                                   \n",
       "2010-12-30           0  [Interval Licensing, a Seattle firm owned by b...  \n",
       "2010-12-24           1  [Blu-ray is emerging as a holiday hero for Hol...  \n",
       "2010-12-20           2  [When federal authorities shut down five Web s...  \n",
       "2010-12-16           3  [WASHINGTON -- Senior Chinese officials pledge...  \n",
       "2010-12-14           4  [The World Trade Organization has upheld the s...  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_factiva['datetime'] = pd.to_datetime(df_factiva['date'], format=\"%d %m %Y\")\n",
    "df_factiva = df_factiva.set_index('datetime')\n",
    "df_factiva.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Delete Paragraph placeholders"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"Interval Licensing, a Seattle firm owned by billionaire Microsoft co-founder Paul Allen, has filed an amended lawsuit against Facebook, Google and nine other companies, claiming they infringed on patented Web technology.  Interval Licensing owns the rights to information systems, computer science and communications technology developed by Interval Research, which Allen co-founded in the 1990s. Interval Research no longer exists.  The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook, Google, Google's video site YouTube, AOL, Apple, Yahoo, Netflix, eBay, Office Depot, OfficeMax and Staples.  U.S. District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products. Interval's new suit, filed Tuesday in Seattle, is chock-full of examples of the four patents in question. Two of the patents relate to the way Web sites suggest additional, related content.  Interval is asking for damages and, going forward, either royalties or a ban on the companies' use of the technology.  The blizzard that swept through the Northeast on Sunday and Monday delayed $1 billion in retail spending, according to research firm ShopperTrak, but won't derail a holiday shopping season expected to be the best since 2007.  The effect won't be as bad as last year's pre-Christmas snowstorm that similarly paralyzed parts of the East Coast. That cost retailers an estimated $2 billion, according to the weather research firm Planalytics.  About $10 billion in retail sales usually occurs on the two days after Christmas, ShopperTrak says. Bad weather likely delayed about 10 percent of that.  The storm's effects weren't enough to change ShopperTrak's estimate for a 4 percent gain over last year in revenue for the Nov. 1-Dec. 31 holiday season. Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored.  This year's storm cost retailers 11.2 percent of their foot traffic Sunday and 13.9 percent Monday, ShopperTrak estimates.  The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams, one led by Lockheed Martin and one led by Austal.  The Lockheed Martin team received a $491 million contract that could be worth as much as $4 billion when all options are exercised, the Navy said Wednesday in a statement. Austal won a $465 million contract that could reach as much $3.78 billion if all options are exercised.  Congress approved the Navy's plans last week to buy ships from both of two teams under a dual-design approach, rather than choosing just one supplier as announced in September. The bids submitted averaged $440 million per ship, including construction and potential changes, Navy officials told lawmakers two weeks ago.  Lockheed, based in Bethesda, and Marinette Marine are working together on one model, while the other is being developed by the U.S. subsidiary of Australia's Austal and General Dynamics. General Dynamics, based in Falls Church, is providing combat systems for the Austal vessel.  Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels, such as destroyers, in missions such as clearing mines, hunting submarines and providing humanitarian relief. The Navy projects that it will buy 55 ships under the program.  - Bloomberg News  http://www.washingtonpost.com  WP20101230digest30  \""
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_factiva['fulltext'] = [re.sub(r\"!PARAGRAPH!\", \" \", article) for article in df_factiva[\"fulltext\"]]\n",
    "df_factiva['fulltext'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime\n",
       "2010-01-10    1\n",
       "2010-01-11    0\n",
       "2010-01-12    1\n",
       "2010-01-13    1\n",
       "2010-01-14    0\n",
       "             ..\n",
       "2012-12-24    0\n",
       "2012-12-25    1\n",
       "2012-12-26    0\n",
       "2012-12-27    1\n",
       "2012-12-28    1\n",
       "Freq: D, Length: 1084, dtype: int64"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "daily = df_factiva.resample('D').size()\n",
    "daily"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "datetime\n",
       "2010-01-10    1\n",
       "2010-01-17    5\n",
       "2010-01-24    1\n",
       "2010-01-31    1\n",
       "2010-02-07    1\n",
       "             ..\n",
       "2012-12-02    3\n",
       "2012-12-09    1\n",
       "2012-12-16    0\n",
       "2012-12-23    0\n",
       "2012-12-30    3\n",
       "Freq: W-SUN, Length: 156, dtype: int64"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "weekly = df_factiva.resample('W').size()\n",
    "weekly"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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RERExGdKuERERER8poRLRERExGdKuERERER8poRLRERExGdKuERERER8FhfuAApy4YUXuk8++STcYYiIiIgUhuX3QERXuLZs2RLuEERERESOW0QnXCIiIiInAiVcIiIiIj5TwiUiIiLiMyVcIiIiIj5TwiUiIiLiMyVcIiIiIj5TwiUiIiLiMyVcIiIiIj5TwiUiIiLiMyVcIiIiIj5TwiUiIiLiMyVcIiIiIj5TwiUiIiLiMyVcIiIiIj5TwiUiIiLiMyVcIiLiu82bN5ORkRHuMETCRgmXiIj4KiMjgyZNmjBu3LhwhyISNkq4RETEV/v37yc9PZ2NGzeGOxSRsFHCJSIivsrKygLg4MGDYY5EJHyUcImIiK8yMzMBJVwS3ZRwiYiIr7ITLjXNSzRTwiUiIr5ShUtECZeIiPhMPVwiSrhERCJWxYoVj7rOqFGj2LNnj++xpKam8tFHHxVpWw0piijhEhEp0YqScGUnQMeiOBIuVbgkminhEhGJcDNnzqRTp078+c9/pnnz5vTp0wfnHKNHj2b9+vV07tyZzp07AzBt2jQ6dOhASkoKl19+Obt27QKgQYMGPPLII5x99tn897//pUGDBjz44IOkpKTQqlUrVqxYAcDu3bu57rrraNeuHa1bt+b999/nwIEDPPDAA0yePJnk5GQmT558TPGrwiWihEtEpERYuHAho0aNYvny5axZs4avv/6aYcOGUadOHWbMmMGMGTPYsmULf//735k+fToLFiygbdu2PP300zn7KFu2LLNmzeKqq64CID4+ngULFjB48GBGjhwJwIgRI+jSpQvfffcdM2bM4M477+TgwYM88sgjXHnllaSmpnLllVceU+yqcIlAXLgDEBGRo2vfvj316tUDIDk5mbS0NM4+++zD1vn2229Zvnw5Z511FgAHDhygQ4cOOY/nTpQuu+wyANq0acO7774LeBWyqVOn5iRg+/btY+3atccVu5rmRZRwiYiUCGXKlMm5HRsbm+fwnHOO888/n0mTJuW5jwoVKuS5z+D9Oed45513aNas2WHrzpkzp8ixa0hRREOKIiIlWqVKldi5cycAZ5xxBl9//TWrV68GYM+ePaxcufKY9nfBBRcwZswYnHOAN5SZ+zjHSkOKIkq4RERKtEGDBnHRRRfRuXNnatasyfjx4+nduzeJiYmcccYZOc3whXX//fdz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\n",
      "text/plain": [
       "<Figure size 720x540 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pandas.plotting import register_matplotlib_converters\n",
    "register_matplotlib_converters() #datetime function is not integrated beyond pandas this library allows matplotlib to process it\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(10, 7.5))\n",
    "ax.plot(weekly, color='black')\n",
    "\n",
    "# add a vertical line for American Censorship Day and Internet Blackout\n",
    "#ax.axvline(pd.to_datetime('2011-11-16'), color='crimson', linestyle='--', lw=1.5) # tell where the line is with pandas to datetime function\n",
    "#ax.axvline(pd.to_datetime('2012-01-18'), color='blue', linestyle='--', lw=1.5)\n",
    "\n",
    "#annotation\n",
    "ax.annotate('Introduction \\nCOICA',\n",
    "           xytext=[pd.Timestamp('2010-01'), 5],\n",
    "           xy=[pd.to_datetime('2010-09-20'), daily.loc[pd.to_datetime('2010-09-20')]],\n",
    "            color='green',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('Hearing \\nOnline Piracy',\n",
    "           xytext=[pd.Timestamp('2010-04'), 10],\n",
    "           xy=[pd.to_datetime('2011-03-14'), daily.loc[pd.to_datetime('2011-03-14')]],\n",
    "            color='green',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('Introduction \\nPIPA',\n",
    "           xytext=[pd.Timestamp('2010-07'), 15],\n",
    "           xy=[pd.to_datetime('2011-05-12'), daily.loc[pd.to_datetime('2011-05-12')]],\n",
    "            color='green',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('Introduction \\nSOPA',\n",
    "           xytext=[pd.Timestamp('2010-10'), 20],\n",
    "           xy=[pd.to_datetime('2011-10-26'), daily.loc[pd.to_datetime('2011-10-26')]],\n",
    "            color='green',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('American \\nCensorship \\nDay',\n",
    "           xytext=[pd.Timestamp('2011-01'), 25],\n",
    "           xy=[pd.to_datetime('2011-11-16'), daily.loc[pd.to_datetime('2011-11-16')]],\n",
    "            color='black',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'black'})\n",
    "ax.annotate('Hearing \\nSOPA',\n",
    "           xytext=[pd.Timestamp('2011-04'), 30],\n",
    "           xy=[pd.to_datetime('2011-12-16'), daily.loc[pd.to_datetime('2011-12-16')]],\n",
    "            color='green',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'green'})\n",
    "ax.annotate('GoDaddy \\nBoycott',\n",
    "           xytext=[pd.Timestamp('2011-07'), 35],\n",
    "           xy=[pd.to_datetime('2011-12-23'), daily.loc[pd.to_datetime('2011-12-23')]],\n",
    "            color='blue',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                       'color': 'blue'})\n",
    "ax.annotate('Internet \\nBlackout',\n",
    "           xytext=[pd.Timestamp('2011-10'), 40],\n",
    "           xy=[pd.to_datetime('2012-01-18'), daily.loc[pd.to_datetime('2012-01-18')]],\n",
    "            color='black',\n",
    "           arrowprops={'arrowstyle': '-|>',\n",
    "                      'color': 'black'})\n",
    "\n",
    "#delete frame lines at the top and to the right\n",
    "ax.spines['right'].set_visible(False)\n",
    "ax.spines['top'].set_visible(False)\n",
    "\n",
    "#labels and ticks\n",
    "ax.set_xlabel('Weekly observations')\n",
    "ax.set_ylabel('Number of Articles')\n",
    "ax.tick_params(axis ='both', which ='both', length = 2) #length of tick marks\n",
    "# tick labels\n",
    "ax.xaxis.set_major_locator(dates.YearLocator())\n",
    "ax.xaxis.set_major_formatter(dates.DateFormatter('%m\\n%Y'))\n",
    "ax.xaxis.set_minor_locator(dates.MonthLocator())\n",
    "ax.xaxis.set_minor_formatter(dates.DateFormatter('%m'))\n",
    "\n",
    "ax.set_title('Salience of Online Copyright Issues in US Newspapers\\n')\n",
    "\n",
    "plt.savefig('fig_newspaper.png', dpi = 2000, bbox_inches = 'tight')\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Natural Language Processing"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Remove Punctuation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'Interval Licensing a Seattle firm owned by billionaire Microsoft cofounder Paul Allen has filed an amended lawsuit against Facebook Google and nine other companies claiming they infringed on patented Web technology  Interval Licensing owns the rights to information systems computer science and communications technology developed by Interval Research which Allen cofounded in the 1990s Interval Research no longer exists  The filing is a revision of the lawsuit Interval Licensing filed in August against Facebook Google Googles video site YouTube AOL Apple Yahoo Netflix eBay Office Depot OfficeMax and Staples  US District Judge Marsha Pechman in Seattle dismissed the original suit because it did not name the infringing products Intervals new suit filed Tuesday in Seattle is chockfull of examples of the four patents in question Two of the patents relate to the way Web sites suggest additional related content  Interval is asking for damages and going forward either royalties or a ban on the companies use of the technology  The blizzard that swept through the Northeast on Sunday and Monday delayed 1 billion in retail spending according to research firm ShopperTrak but wont derail a holiday shopping season expected to be the best since 2007  The effect wont be as bad as last years preChristmas snowstorm that similarly paralyzed parts of the East Coast That cost retailers an estimated 2 billion according to the weather research firm Planalytics  About 10 billion in retail sales usually occurs on the two days after Christmas ShopperTrak says Bad weather likely delayed about 10 percent of that  The storms effects werent enough to change ShopperTraks estimate for a 4 percent gain over last year in revenue for the Nov 1Dec 31 holiday season Retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored  This years storm cost retailers 112 percent of their foot traffic Sunday and 139 percent Monday ShopperTrak estimates  The Navy awarded contracts for the construction of as many as 10 Littoral Combat Ships to each of two teams one led by Lockheed Martin and one led by Austal  The Lockheed Martin team received a 491 million contract that could be worth as much as 4 billion when all options are exercised the Navy said Wednesday in a statement Austal won a 465 million contract that could reach as much 378 billion if all options are exercised  Congress approved the Navys plans last week to buy ships from both of two teams under a dualdesign approach rather than choosing just one supplier as announced in September The bids submitted averaged 440 million per ship including construction and potential changes Navy officials told lawmakers two weeks ago  Lockheed based in Bethesda and Marinette Marine are working together on one model while the other is being developed by the US subsidiary of Australias Austal and General Dynamics General Dynamics based in Falls Church is providing combat systems for the Austal vessel  Littoral Combat Ships are designed to operate closer to coastlines than existing surface vessels such as destroyers in missions such as clearing mines hunting submarines and providing humanitarian relief The Navy projects that it will buy 55 ships under the program   Bloomberg News  httpwwwwashingtonpostcom  WP20101230digest30  '"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#remove punctuations\n",
    "df_factiva['fulltext'] = [\"\".join([l for l in article if l not in punctuation]) for article in df_factiva['fulltext']]\n",
    "df_factiva['fulltext'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'interval licensing a seattle firm owned by billionaire microsoft cofounder paul allen has filed an amended lawsuit against facebook google and nine other companies claiming they infringed on patented web technology interval licensing owns the rights to information systems computer science and communications technology developed by interval research which allen cofounded in the 1990s interval research no longer exists the filing is a revision of the lawsuit interval licensing filed in august against facebook google googles video site youtube aol apple yahoo netflix ebay office depot officemax and staples us district judge marsha pechman in seattle dismissed the original suit because it did not name the infringing products intervals new suit filed tuesday in seattle is chockfull of examples of the four patents in question two of the patents relate to the way web sites suggest additional related content interval is asking for damages and going forward either royalties or a ban on the companies use of the technology the blizzard that swept through the northeast on sunday and monday delayed 1 billion in retail spending according to research firm shoppertrak but wont derail a holiday shopping season expected to be the best since 2007 the effect wont be as bad as last years prechristmas snowstorm that similarly paralyzed parts of the east coast that cost retailers an estimated 2 billion according to the weather research firm planalytics about 10 billion in retail sales usually occurs on the two days after christmas shoppertrak says bad weather likely delayed about 10 percent of that the storms effects werent enough to change shoppertraks estimate for a 4 percent gain over last year in revenue for the nov 1dec 31 holiday season retailers will still see much of the spending when shoppers return to stores as streets are cleared and transportation restored this years storm cost retailers 112 percent of their foot traffic sunday and 139 percent monday shoppertrak estimates the navy awarded contracts for the construction of as many as 10 littoral combat ships to each of two teams one led by lockheed martin and one led by austal the lockheed martin team received a 491 million contract that could be worth as much as 4 billion when all options are exercised the navy said wednesday in a statement austal won a 465 million contract that could reach as much 378 billion if all options are exercised congress approved the navys plans last week to buy ships from both of two teams under a dualdesign approach rather than choosing just one supplier as announced in september the bids submitted averaged 440 million per ship including construction and potential changes navy officials told lawmakers two weeks ago lockheed based in bethesda and marinette marine are working together on one model while the other is being developed by the us subsidiary of australias austal and general dynamics general dynamics based in falls church is providing combat systems for the austal vessel littoral combat ships are designed to operate closer to coastlines than existing surface vessels such as destroyers in missions such as clearing mines hunting submarines and providing humanitarian relief the navy projects that it will buy 55 ships under the program bloomberg news httpwwwwashingtonpostcom wp20101230digest30'"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_factiva['fulltext'] = [article.lower() for article in df_factiva['fulltext']]  # convert to lower case\n",
    "df_factiva['fulltext'] = [\" \".join(article.split()) for article in df_factiva['fulltext']]   # remove double spaces by splitting the strings into words and joining these words again\n",
    "df_factiva['fulltext'][0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_factiva.to_csv(\"Test_articles.csv\", encoding='utf-8')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### First test dictionary"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['free speech', 'censorship', 'banana']"
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "frame_dict = {\n",
    "    \"freespeech\": [\"free speech\", \"censorship\", \"banana\"],\n",
    "    \"economy\": [\"economy\", \"jobs\"]\n",
    "             }\n",
    "frame_dict['freespeech']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "false\n"
     ]
    }
   ],
   "source": [
    "if df_factiva[\"fulltext\"][0] in frame_dict['freespeech']:\n",
    "    print(\"true\")\n",
    "else:\n",
    "    print(\"false\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Stop Word Removal"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Remove stopwords\n",
    "##define list containing all stopwords from nltk package\n",
    "l_stopword = stopwords.words('english')\n",
    "l_stopword.append('mr')\n",
    "\n",
    "##remove stopwords\n",
    "articles_clean = [\" \".join([word for word in article.split() if word not in l_stopword]) for article in articles_clean]\n",
    "##from the inside to the outside: take each speech in speeches_clean. Than, take each word that appears in a splitted speech and test if it is not in the stopword list. If it is not, join it together and put it as a element in the list speeches_nost "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "washington push antipiracy legislation brought lawmakers together much past year senate least support remains nationwide protests appears mostly democrats senate majority leader harry reid nevada moving ahead plans test vote legislation tuesday senates top republican mitch mcconnell thursday called postponement citing serious issues legislation least 14 republican senators announced opposition legislation week thousands internet sites including online encyclopedia wikipedia went dark wednesday p ; federal bureau investigation shut one worlds popular filesharing websites debate rages washington whether give government new powers crack internet pirates authorities claim megaupload ltd based hong kong collection websites generated 175 million criminal proceeds caused half billion dollars harm copyright owners police thursday arrested four employees company auckland new zealand charging conspiracy commit racketeering criminal copyright infringement raid heats growing political debate pit inte\n",
      "345\n"
     ]
    }
   ],
   "source": [
    "print(articles_clean[0][:500], \";\", articles_clean[1][:500])\n",
    "print(len(articles_clean))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Lemmatizing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "345\n"
     ]
    }
   ],
   "source": [
    "nlp = spacy.load('en_core_web_sm') #load spacy's english language toolkit\n",
    "\n",
    "articles_clean = [nlp(word) for word in articles_clean]\n",
    "    \n",
    "print(len(articles_clean)) #checks"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "washington push antipiracy legislation brought lawmakers together much past year senate least support remains nationwide protests appears mostly democrats senate majority leader harry reid nevada moving ahead plans test vote legislation tuesday senates top republican mitch mcconnell thursday called postponement citing serious issues legislation least 14 republican senators announced opposition legislation week thousands internet sites including online encyclopedia wikipedia went dark wednesday protest bills seven democratic senators said either serious concerns couldnt support legislation current form adding voices handful democrats previously opposed bill house senate considering similar legislation known stop onlinepiracy act sopa house aimed cracking foreignbased websites offer pirated movies music content bills received strong backing hollywood studios unions say pirated sites costing money jobs google inc ebay inc internet companies say legislation would harm webs open nature could lead lawsuits us internet sites inadvertently host pirated content google said thursday seven million people signed online protest petition battle scrambled usual washington lines us chamber commerce labor unions usually rivals back bills many activist groups left right oppose republicans pressure vocal opponents adding vote least yet position worry enforcement thats authorized could hurt us cybersecurity efforts tougher call democrats thanks part bills strong union backing fact hollywood opened collective wallet wider democrats historically bill top priority motion picture association america hired veteran democratic senator chris dodd chairman last year dodd barred lobbying former colleagues remains friends many legislation particularly tricky california lawmakers trying balance needs hollywood silicon valley last week sen dianne feinstein met google facebook inc bill opponents explain support spokesman said thursday recognizes bill needs changes\n"
     ]
    }
   ],
   "source": [
    "print(articles_clean[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "345\n",
      "washington push antipiracy legislation bring lawmaker together much past year senate least support remain nationwide protest appear mostly democrats senate majority leader harry reid nevada move ahead plan test vote legislation tuesday senate top republican mitch mcconnell thursday call postponement cite serious issue legislation least 14 republican senator announce opposition legislation week thousand internet site include online encyclopedia wikipedia go dark wednesday protest bill seven democratic senator say either serious concern could not support legislation current form add voice handful democrats previously oppose bill house senate consider similar legislation know stop onlinepiracy act sopa house aim crack foreignbased website offer pirate movie music content bill receive strong backing hollywood studio union say pirate site cost money job google inc ebay inc internet company say legislation would harm webs open nature could lead lawsuit -PRON- internet site inadvertently host pirate content google say thursday seven million people sign online protest petition battle scramble usual washington line us chamber commerce labor union usually rival back bill many activist group leave right oppose republicans pressure vocal opponent add vote least yet position worry enforcement that s authorize could hurt -PRON- cybersecurity effort tough call democrats thank part bill strong union backing fact hollywood open collective wallet wide democrats historically bill top priority motion picture association america hire veteran democratic senator chris dodd chairman last year dodd bar lobby former colleague remain friend many legislation particularly tricky california lawmaker try balance need hollywood silicon valley last week sen dianne feinstein meet google facebook inc bill opponent explain support spokesman say thursday recognize bill need change\n"
     ]
    }
   ],
   "source": [
    "articles_clean = [\" \".join([word.lemma_ for word in article]) for article in articles_clean]\n",
    "\n",
    "print(len(articles_clean))\n",
    "print(articles_clean[0])"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
